{
    // GENERAL
    "editor.rulers": [120],
    "editor.formatOnSave": true,
    "files.trimTrailingWhitespace": true,
    "files.trimFinalNewlines": true,
    "prettier.tabWidth": 4,
    "isort.args": ["--profile", "black"],

    // MARKDOWN
    "[markdown]": {
        "editor.wordWrap": "bounded",
        "editor.wordWrapColumn": 120,
        "editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
    },

    // JSONC
    "[jsonc]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },

    // JSON
    "[json]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },

    // YAML
    "[yaml]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },

    // YAML
    "[yml]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },

    // PYTHON
    "[python]": {
        "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit"
        },
        "editor.defaultFormatter": "ms-python.black-formatter"
    },
    "python.envFile": "${workspaceFolder}/.venv",
    "python.languageServer": "Pylance",
    "python.testing.pytestEnabled": true,
    "python.testing.pytestArgs": ["${workspaceFolder}/tests"],
    "python.testing.unittestEnabled": false,
    //"python.envFile": "${workspaceFolder}/python_release.env",

    // MYPY
    "mypy-type-checker.args": [
        "--ignore-missing-imports",
        "--follow-imports=silent",
        "--show-column-numbers"
        // "--disallow-untyped-defs",
        // "--disallow-untyped-calls"
    ],

    // CSPELL
    "cSpell.words": [
        "appendleft",
        "colang",
        "elif",
        "interruptible",
        "langchain",
        "nemoguardrails",
        "orwhen",
        "popleft",
        "simpleeval",
        "statemachine",
        "subflow",
        "uids",
        "UMIM",
        "uniquify"
    ],
    "cSpell.enableFiletypes": ["co", "colang"],

    // FLAKE8
    "flake8.args": ["--max-line-length=120"],
    "python.formatting.provider": "none"
}
